home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Fiver / Fiver.jar / PlayBoard.class (.txt) < prev   
Encoding:
Java Class File  |  2001-11-12  |  5.9 KB  |  409 lines

  1. import javax.microedition.lcdui.Canvas;
  2. import javax.microedition.lcdui.Graphics;
  3. import javax.microedition.lcdui.Image;
  4.  
  5. class PlayBoard extends Canvas implements Runnable {
  6.    // $FF: renamed from: null int
  7.    private int field_0 = 0;
  8.    // $FF: renamed from: else int
  9.    private int field_1 = 0;
  10.    // $FF: renamed from: i int
  11.    private int field_2 = 0;
  12.    // $FF: renamed from: a int
  13.    private int field_3 = 0;
  14.    // $FF: renamed from: d int
  15.    private int field_4 = 0;
  16.    // $FF: renamed from: new int
  17.    private int field_5 = 0;
  18.    // $FF: renamed from: try int
  19.    private int field_6 = 2;
  20.    // $FF: renamed from: void int
  21.    private int field_7 = 2;
  22.    // $FF: renamed from: case int
  23.    private int field_8 = 0;
  24.    // $FF: renamed from: byte int
  25.    private int field_9 = 0;
  26.    // $FF: renamed from: goto int
  27.    private int field_10 = 300;
  28.    // $FF: renamed from: g int
  29.    private int field_11 = 1;
  30.    // $FF: renamed from: f int
  31.    private int field_12 = 1;
  32.    // $FF: renamed from: do java.lang.Thread
  33.    private Thread field_13 = null;
  34.    // $FF: renamed from: e javax.microedition.lcdui.Image
  35.    private Image field_14 = null;
  36.    // $FF: renamed from: b javax.microedition.lcdui.Graphics
  37.    private Graphics field_15 = null;
  38.    // $FF: renamed from: if boolean
  39.    private boolean field_16 = false;
  40.    // $FF: renamed from: h boolean
  41.    private boolean field_17 = false;
  42.    // $FF: renamed from: int boolean
  43.    private boolean field_18 = false;
  44.    // $FF: renamed from: for int[][]
  45.    private int[][] field_19;
  46.    // $FF: renamed from: c javax.microedition.lcdui.Image[]
  47.    private Image[] field_20 = new Image[4];
  48.    // $FF: renamed from: long boolean
  49.    private boolean field_21 = false;
  50.    // $FF: renamed from: char int
  51.    private int field_22 = 0;
  52.  
  53.    public PlayBoard(int var1) {
  54.       try {
  55.          this.field_1 = ((Canvas)this).getWidth();
  56.          this.field_2 = ((Canvas)this).getHeight();
  57.          this.field_14 = Image.createImage(this.field_1, this.field_2);
  58.          this.field_15 = this.field_14.getGraphics();
  59.          this.field_3 = this.field_14.getWidth();
  60.          this.field_4 = this.field_14.getHeight();
  61.          this.field_5 = var1;
  62.          this.field_0 = 0;
  63.          this.field_19 = new int[this.field_5][this.field_5];
  64.  
  65.          for(int var2 = 0; var2 < this.field_5; ++var2) {
  66.             for(int var3 = 0; var3 < this.field_5; ++var3) {
  67.                this.field_19[var2][var3] = 0;
  68.             }
  69.          }
  70.  
  71.          this.method_1();
  72.       } catch (Exception var4) {
  73.          System.gc();
  74.       }
  75.  
  76.    }
  77.  
  78.    public void paint(Graphics var1) {
  79.       if (!this.field_16) {
  80.          var1.setColor(16777215);
  81.          var1.fillRect(0, 0, this.field_1, this.field_2);
  82.          this.field_16 = true;
  83.       }
  84.  
  85.       var1.drawImage(this.field_14, 0, 0, 20);
  86.    }
  87.  
  88.    public void keyPressed(int var1) {
  89.       if (!this.field_21) {
  90.          this.method_0(var1);
  91.       }
  92.  
  93.    }
  94.  
  95.    public void keyRepeated(int var1) {
  96.       if (!this.field_21) {
  97.          this.method_0(var1);
  98.       }
  99.  
  100.    }
  101.  
  102.    // $FF: renamed from: a (int) void
  103.    protected void method_0(int var1) {
  104.       if (!this.field_18) {
  105.          int var2 = ((Canvas)this).getGameAction(var1);
  106.          this.method_3(this.field_11, this.field_12);
  107.          switch (var2) {
  108.             case 1:
  109.                if (this.field_12 > 1) {
  110.                   --this.field_12;
  111.                }
  112.                break;
  113.             case 2:
  114.                if (this.field_11 > 1) {
  115.                   --this.field_11;
  116.                }
  117.             case 3:
  118.             case 4:
  119.             case 7:
  120.             default:
  121.                break;
  122.             case 5:
  123.                if (this.field_11 < this.field_5) {
  124.                   ++this.field_11;
  125.                }
  126.                break;
  127.             case 6:
  128.                if (this.field_12 < this.field_5) {
  129.                   ++this.field_12;
  130.                }
  131.                break;
  132.             case 8:
  133.                ++this.field_0;
  134.                this.field_21 = true;
  135.                this.field_10 = 50;
  136.          }
  137.  
  138.          this.method_2(this.field_11, this.field_12);
  139.          ((Canvas)this).repaint();
  140.          ((Canvas)this).serviceRepaints();
  141.       }
  142.  
  143.    }
  144.  
  145.    public void run() {
  146.       while(!this.field_17) {
  147.          try {
  148.             Thread.sleep((long)this.field_10);
  149.             if (this.method_6()) {
  150.                Object var1 = null;
  151.                this.field_15.setColor(16777215);
  152.                this.field_15.fillRect(0, 0, this.field_3, this.field_4);
  153.                this.field_15.setColor(0);
  154.                this.field_15.drawString("     GAME OVER", 0, this.field_2 / 5 + 12, 20);
  155.                this.field_15.drawString("  No. of moves: " + this.field_0, 0, this.field_2 / 5 + 25, 20);
  156.                ((Canvas)this).repaint();
  157.                ((Canvas)this).serviceRepaints();
  158.                this.field_17 = true;
  159.                this.field_18 = true;
  160.                var1 = null;
  161.             }
  162.  
  163.             if (this.field_21) {
  164.                this.method_4(this.field_11, this.field_12);
  165.                ++this.field_22;
  166.                if (this.field_22 == 3) {
  167.                   this.field_21 = false;
  168.                   this.field_22 = 0;
  169.                   this.field_10 = 300;
  170.                }
  171.  
  172.                ((Canvas)this).repaint();
  173.                ((Canvas)this).serviceRepaints();
  174.             }
  175.          } catch (Exception var2) {
  176.             System.gc();
  177.          }
  178.       }
  179.  
  180.    }
  181.  
  182.    // $FF: renamed from: do () void
  183.    private void method_1() {
  184.       if (this.field_15 != null) {
  185.          this.field_15.setColor(16777215);
  186.          this.field_15.fillRect(0, 0, this.field_3, this.field_4);
  187.          this.field_15.setColor(0);
  188.          this.field_8 = (this.field_3 - 2 * this.field_6) / this.field_5;
  189.          this.field_9 = (this.field_4 - 2 * this.field_7) / this.field_5;
  190.          if (this.field_8 > this.field_9) {
  191.             this.field_8 = this.field_9;
  192.          } else {
  193.             this.field_9 = this.field_8;
  194.          }
  195.  
  196.          this.method_8();
  197.          this.field_6 = (this.field_3 - this.field_5 * this.field_8) / 2;
  198.          this.field_7 = (this.field_4 - this.field_5 * this.field_9) / 2;
  199.          boolean var1 = false;
  200.  
  201.          try {
  202.             this.method_7();
  203.          } catch (Exception var10) {
  204.             var1 = true;
  205.          }
  206.  
  207.          if (!var1) {
  208.             int var2 = this.field_6;
  209.  
  210.             for(int var3 = 0; var2 <= this.field_3 && var3 <= this.field_5; ++var3) {
  211.                this.field_15.drawLine(var2, this.field_7, var2, this.field_5 * this.field_9 + this.field_7);
  212.                var2 += this.field_8;
  213.             }
  214.  
  215.             int var4 = this.field_7;
  216.  
  217.             for(int var5 = 0; var4 <= this.field_4 && var5 <= this.field_5; ++var5) {
  218.                this.field_15.drawLine(this.field_6, var4, this.field_5 * this.field_8 + this.field_6, var4);
  219.                var4 += this.field_9;
  220.             }
  221.  
  222.             int var6 = 0;
  223.  
  224.             for(int var7 = this.field_7; var6 < this.field_5; var7 += this.field_9) {
  225.                int var8 = 0;
  226.  
  227.                for(int var9 = this.field_6; var8 < this.field_5; var9 += this.field_8) {
  228.                   this.field_15.drawImage(this.field_20[0], var9 + this.field_8 / 2, var7 + (this.field_9 - this.field_20[0].getHeight()) / 2, 17);
  229.                   ++var8;
  230.                }
  231.  
  232.                ++var6;
  233.             }
  234.  
  235.             this.field_11 = 1;
  236.             this.field_12 = 1;
  237.             this.method_2(this.field_11, this.field_12);
  238.          } else {
  239.             this.field_15.drawString("     Screen size", 0, this.field_2 / 5 + 12, 20);
  240.             this.field_15.drawString("       is small ", 0, this.field_2 / 5 + 25, 20);
  241.          }
  242.       }
  243.  
  244.    }
  245.  
  246.    // $FF: renamed from: do (int, int) void
  247.    private void method_2(int var1, int var2) {
  248.       this.field_15.setColor(0);
  249.       this.field_15.drawRect(this.field_6 + this.field_8 * (var1 - 1) + 1, this.field_7 + this.field_9 * (var2 - 1) + 1, this.field_8 - 2, this.field_9 - 2);
  250.    }
  251.  
  252.    // $FF: renamed from: a (int, int) void
  253.    private void method_3(int var1, int var2) {
  254.       this.field_15.setColor(16777215);
  255.       this.field_15.drawRect(this.field_6 + this.field_8 * (var1 - 1) + 1, this.field_7 + this.field_9 * (var2 - 1) + 1, this.field_8 - 2, this.field_9 - 2);
  256.    }
  257.  
  258.    // $FF: renamed from: for (int, int) void
  259.    private void method_4(int var1, int var2) {
  260.       this.method_5(var1, var2);
  261.       if (var1 - 1 != 0) {
  262.          this.method_5(var1 - 1, var2);
  263.       }
  264.  
  265.       if (var1 + 1 <= this.field_5) {
  266.          this.method_5(var1 + 1, var2);
  267.       }
  268.  
  269.       if (var2 - 1 != 0) {
  270.          this.method_5(var1, var2 - 1);
  271.       }
  272.  
  273.       if (var2 + 1 <= this.field_5) {
  274.          this.method_5(var1, var2 + 1);
  275.       }
  276.  
  277.    }
  278.  
  279.    // $FF: renamed from: if (int, int) void
  280.    private void method_5(int var1, int var2) {
  281.       if (this.field_19[var1 - 1][var2 - 1] == 0) {
  282.          if (this.field_22 + 1 == 3) {
  283.             this.field_19[var1 - 1][var2 - 1] = 1;
  284.          }
  285.  
  286.          this.field_15.drawImage(this.field_20[this.field_22 + 1], this.field_6 + this.field_8 * (var1 - 1) + this.field_8 / 2, this.field_7 + this.field_9 * (var2 - 1) + (this.field_9 - this.field_20[0].getHeight()) / 2, 17);
  287.       } else {
  288.          this.field_15.setColor(16777215);
  289.          if (this.field_22 + 1 == 3) {
  290.             this.field_19[var1 - 1][var2 - 1] = 0;
  291.          }
  292.  
  293.          this.field_15.drawImage(this.field_20[2 - this.field_22], this.field_6 + this.field_8 * (var1 - 1) + this.field_8 / 2, this.field_7 + this.field_9 * (var2 - 1) + (this.field_9 - this.field_20[0].getHeight()) / 2, 17);
  294.       }
  295.  
  296.    }
  297.  
  298.    // $FF: renamed from: a () boolean
  299.    private boolean method_6() {
  300.       for(int var1 = 0; var1 < this.field_5; ++var1) {
  301.          for(int var2 = 0; var2 < this.field_5; ++var2) {
  302.             if (this.field_19[var1][var2] == 0) {
  303.                return false;
  304.             }
  305.          }
  306.       }
  307.  
  308.       return true;
  309.    }
  310.  
  311.    // $FF: renamed from: for () void
  312.    private void method_7() throws Exception {
  313.       try {
  314.          Object var1 = null;
  315.          Object var2 = null;
  316.          Object var3 = null;
  317.          Object var4 = null;
  318.          byte var5;
  319.          byte var6;
  320.          byte var7;
  321.          String var9;
  322.          String var10;
  323.          if (this.field_8 > 28) {
  324.             var9 = "/res/22x22white.png";
  325.             var10 = "/res/22x22red.png";
  326.             var5 = 22;
  327.             var6 = 8;
  328.             var7 = 16;
  329.          } else if (this.field_8 <= 28 && this.field_8 > 21) {
  330.             var9 = "/res/14x14white.png";
  331.             var10 = "/res/14x14red.png";
  332.             var5 = 14;
  333.             var6 = 6;
  334.             var7 = 10;
  335.          } else if (this.field_8 <= 21 && this.field_8 > 16) {
  336.             var9 = "/res/10x10white.png";
  337.             var10 = "/res/10x10red.png";
  338.             var5 = 10;
  339.             var6 = 4;
  340.             var7 = 8;
  341.          } else if (this.field_8 <= 16 && this.field_8 > 11) {
  342.             var9 = "/res/8x8white.png";
  343.             var10 = "/res/8x8red.png";
  344.             var5 = 8;
  345.             var6 = 2;
  346.             var7 = 6;
  347.          } else {
  348.             if (this.field_8 > 11 || this.field_8 < 10) {
  349.                throw new Exception("Screen size is small");
  350.             }
  351.  
  352.             var9 = "/res/6x6white.png";
  353.             var10 = "/res/6x6red.png";
  354.             var5 = 6;
  355.             var6 = 2;
  356.             var7 = 4;
  357.          }
  358.  
  359.          this.field_20[0] = Image.createImage(var9);
  360.          this.field_20[3] = Image.createImage(var10);
  361.          Image var11 = Image.createImage(var5, var5);
  362.          Graphics var13 = var11.getGraphics();
  363.          var13.setColor(16777215);
  364.          var13.fillRect(0, 0, var5, var5);
  365.          var13.setClip(var5 / 2 - var6 / 2, var5 / 2 - var6 / 2, var6, var6);
  366.          var13.drawImage(this.field_20[3], 0, 0, 20);
  367.          this.field_20[1] = var11;
  368.          var11 = Image.createImage(var5, var5);
  369.          var13 = var11.getGraphics();
  370.          var13.setColor(16777215);
  371.          var13.fillRect(0, 0, var5, var5);
  372.          var13.setClip(var5 / 2 - var7 / 2, var5 / 2 - var7 / 2, var7, var7);
  373.          var13.drawImage(this.field_20[3], 0, 0, 20);
  374.          this.field_20[2] = var11;
  375.       } catch (Exception var8) {
  376.          throw new Exception("Screen size is small");
  377.       }
  378.    }
  379.  
  380.    // $FF: renamed from: if () void
  381.    private void method_8() {
  382.       if (this.field_8 % 2 != 0) {
  383.          int var1 = (this.field_8 + 1) * this.field_5 + this.field_6;
  384.          if (var1 < this.field_3 && var1 < this.field_4) {
  385.             ++this.field_8;
  386.             this.field_9 = this.field_8;
  387.             return;
  388.          }
  389.  
  390.          --this.field_8;
  391.          this.field_9 = this.field_8;
  392.       }
  393.  
  394.    }
  395.  
  396.    public void start() {
  397.       if (this.field_13 == null) {
  398.          this.field_13 = new Thread(this);
  399.          this.field_17 = false;
  400.          this.field_13.start();
  401.       }
  402.  
  403.    }
  404.  
  405.    public void stop() {
  406.       this.field_17 = true;
  407.    }
  408. }
  409.